home *** CD-ROM | disk | FTP | other *** search
- 10 gosub60000
- 15 poke53280,12:poke53281,15
- 20 print"[147][144]checking data";:forj=1to131:reada:x=x+a:nextj
- 30 ifx<>14735thenprint" error":stop
- 35 print" ok":restore
- 40 b$="":c$="":d$=""
- 50 e$=" "
- 60 f$="":v=54272:pokev+24,15:p=53248:x=0
- 70 poke198,0:gosub500:ifnp=2thengosub820:gosub350
- 80 gosub840:gosub350:gosub390:r=1
- 90 l=l+1:t=l:h=l*2:p1=t:p2=t:y=l*25:d=1
- 100 rem *** computer chooses ***
- 110 forj=1tot
- 120 n=int(rnd(1)*8)+1:a(j)=n
- 130 poke251,j:poke252,n:sys49152:ifpeek(252)<>nthen120
- 140 poke49999+j,n:pokep+38+n,1:s=a(j):gosub1000
- 150 gosub395:nextj:gosub700
- 200 rem *** player input ***
- 205 ts=ti:tf=t*2:forj=1tot:poke198,0
- 210 geta$:if(ti-ts)/60>=tfthenj=t:nextj:gosub1200:goto340
- 220 ifa$=""then210
- 225 if a$="_" then 965
- 230 s=val(a$):ifs<1ors>8thenifj>1thenpokep+38+b(j-1),e:j=j-1:goto210
- 240 ifs<1ors>8then210
- 250 pokep+38+s,c:poke198,0:gosub1000:ifj=tthenfori=1to75
- 260 ifpeek(198)=1andj=tthenifpeek(631)<49orpeek(631)>56then290
- 270 ifj=tthennexti
- 280 b(j)=s:nextj:gosub700:goto300
- 290 i=100:nexti:pokep+38+s,e:poke198,0:goto210
- 300 rem *** compare input and calculate the score ***
- 305 x=0:forj=1tot:ifb(j)<>a(j)thenx=x+1
- 310 nextj:ifx=0thensc=sc+t*2:gosub1100:goto350
- 315 printc$b$"[146]elephant said:"c$tab(17);:forj=1tot:s=a(j)
- 320 pokep+38+s,1:prints;:gosub1000:gosub395:nextj:gosub700:gosub395
- 325 printd$b$k$p$" said:"d$tab(17);:forj=1tot:s=b(j)
- 330 pokep+38+s,c:prints;:gosub1000:gosub395:nextj:gosub395
- 335 sc=sc+t-x
- 340 ift>lthent=t-1
- 350 printsc$sc:ifr=0thenreturn
- 355 gosub700:gosub395:ifnp=1thenvs=sc:goto370
- 360 ifd=1thenvs=sc:goto375
- 365 hs=sc
- 370 ifvs>=yorhs>=ythenifvs<>hsthen900
- 375 ifnp=2thend=-d:gosub800
- 380 printc$e$d$e$:sys49174:gosub390:goto100
- 390 fori=1to500:nexti:return
- 395 fori=1to200:nexti:return
- 500 rem *** number of players, level, and names ***
- 510 np=1:printf$"number of players (1-2)";:inputnp
- 515 ifval(chr$(np+48))<1orval(chr$(np+48))>2then510
- 520 l=1:printf$"level: 1=easy 2=medium 3=hard";:inputl
- 525 ifval(chr$(l+48))<1orval(chr$(l+48))>3then520
- 530 p1$="player 1":printf$"name of player 1 ";:inputp1$
- 540 p1$=left$(p1$,8)
- 550 ifnp=1then580
- 560 p2$="player 2":printf$"name of player 2 ";:inputp2$
- 570 p2$=left$(p2$,8)
- 580 print"[147]setting up"
- 590 print"'_' returns to loadstar"
- 595 fort=1to1800:next
- 600 rem *** sprites ***
- 610 forj=2040to2047:pokej,13:nextj
- 620 forj=1to30:reada:nextj
- 630 forj=832to832+62:reada:pokej,a:nextj
- 640 pokep,48:pokep+1,100:pokep+2,112:pokep+3,100
- 650 pokep+4,184:pokep+5,100:pokep+6,248:pokep+7,100
- 660 pokep+8,48:pokep+9,148:pokep+10,112:pokep+11,148
- 670 pokep+12,184:pokep+13,148:pokep+14,248:pokep+15,148
- 680 pokep+28,255:pokep+37,7:pokep+38,12
- 690 pokep+29,255:pokep+23,255
- 700 e=0
- 710 forj=p+39top+46:pokej,e:nextj:ifr=1thenreturn
- 720 print"[147]":pokep+21,255
- 730 rem *** print numbers in the sprites ***
- 740 print"[144]1234"
- 750 print"5678[146]"
- 760 rem *** load ml (keep computer from duplicating input) ***
- 770 forj=49152to49189:reada:pokej,a
- 780 nextj:restore:return
- 800 rem *** change sides ***
- 810 ifd=1then840
- 815 print" ^ "
- 820 p$=p2$:sc=hs:p2=t:t=p1:c=6:k$=""
- 830 sc$=""+p2$+" ":return
- 840 p$=p1$:sc=vs:p1=t:t=p2:c=2:k$=""
- 845 print" ^ "
- 850 sc$=""+p1$+" ":return
- 900 rem *** victory ***
- 910 printc$e$d$e$
- 920 ifvs>hsornp=1thenc=2:goto940
- 930 c=6
- 940 forx=1to3:e=c:gosub1300:nextx
- 950 printd$tab(12)"[146][144]press any key"
- 955 printd$tab(12)"[146][144]'_' returns to loadstar"
- 960 geta$:ifa$=""then960
- 965 if a$="_" then poke928,0:poke53248+21,0:load"hello connect",8
- 970 pokep+21,0:run
- 1000 rem *** sound of computer and player input ***
- 1010 fori=0to23:pokev+i,0:nexti
- 1020 pokev+1,s+25:pokev+6,240:pokev+4,21
- 1030 fori=1to100:nexti:pokev+4,20:return
- 1100 rem ***sound and visual effects after correct input ***
- 1110 fori=0to23:pokev+i,0:nexti
- 1120 pokev+6,240:forn=1to2:fori=1tot:e=1:gosub1170
- 1130 nexti:fori=tto1step-1:e=c:gosub1170:nexti
- 1140 nextn:fori=1tot:e=1:gosub1170:nexti
- 1150 ift<hthent=t+1
- 1160 return
- 1170 pokev+4,21:pokep+38+b(i),e:pokev+1,i+25
- 1180 forn1=1to5:nextn1:pokev+4,20:return
- 1200 rem *** buzzer (times up) ***
- 1210 fori=vtov+23:pokei,0:nexti
- 1220 printc$tab(11)"[144]sorry, times up."
- 1230 pokev+1,7:pokev+6,130:pokev+4,33
- 1240 gosub395:pokev+4,32:return
- 1300 rem *** victory tune ***
- 1310 fori=vtov+23:pokei,0:nexti:pokev+5,30:pokev+6,85
- 1320 pokev+12,85:pokev+13,85:gosub710
- 1330 fori=1to6:reada,a1,a2,a3,a4:pokev+4,33:pokev+11,17
- 1340 pokev+1,a:pokev,a1:pokev+8,a2:pokev+7,a3:forn=1toa4
- 1350 nextn:pokev+4,32:pokev+11,16:nexti:ifx<3thengosub700
- 1360 forn=1to100:nextn:restore:return
- 1400 rem *** victory tune data ***
- 1410 data25,30,18,209,50,33,135,25,30,50,42
- 1420 data62,31,165,50,50,60,37,162,130,42
- 1430 data62,31,165,50,50,60,37,162,165
- 1500 rem *** sprite data ***
- 1510 data5,0,0,10,0,0,85,80,0,63,192,0,59,234,128
- 1520 data59,234,188,255,234,191,255,224,179,255,224,176
- 1530 data195,224,176,243,224,176,243,234,176,3,234,176
- 1540 data3,213,112,3,255,240,3,243,240,2,162,160
- 1550 data2,162,160,0,0,0,0,0,0,0,0,0
- 1600 rem *** ml data ***
- 1610 data160,0,165,252,217,80,195,240,8,200,196
- 1620 data251,240,7,76,4,192,169,0,133,252,96
- 1630 data160,0,169,0,153,80,195,200,192,8,240,3,76,26,192,96
- 60000 nm$="[194]uck [195]hildress":pr$="[208]achyderm"
- 60005 deffncn(n)=int(19-n/2)
- 60010 t$=" ":c=0:c$="":print"[147]":poke53281,0
- 60015 printspc(7)""t$:printspc(7)" [146]"
- 60020 printtab(fncn(len(pr$)))"[145]"pr$
- 60025 printspc(7)""t$:print:printtab(18)"by"
- 60030 print:printspc(fncn(len(nm$)))"[158]"nm$""
- 60035 print:printspc(12)"[195]opyright 1986"
- 60040 print:print:print:print" [204][207][193][196][211][212][193][210] is not public domain."
- 60045 print:print" [208]lease respect the author's rights."
- 60050 print:print" [208]ress space bar to continue."
- 60055 forcc=1to48:getk$:ifk$=" "then60070
- 60060 ifcc=1thenprintmid$(c$,c+2,1)"[145][145]";:c=not(c)
- 60065 next:goto60050
- 60070 printc$chr$(142):return
-